package alo.p6.work;

import alo.p6.BinaryTreeNode;
//二叉树镜像转换
public class MirrorOfBinaryTree {
    BinaryTreeNode mirrorBinaryTree(BinaryTreeNode root){
        BinaryTreeNode temp;
        if (root!=null){
            mirrorBinaryTree(root.getLeft());
            mirrorBinaryTree(root.getRight());
            temp=root.getLeft();
            root.setLeft(root.getRight());
            root.setRight(temp);
        }
        return root;
    }
    //判断两树是否互为镜像
    boolean areMirror(BinaryTreeNode root1,BinaryTreeNode root2){
        if (root1==null&&root2==null) return true;
        if (root1==null||root2==null) return false;
        if (root1.getData()!= root2.getData()) return false;
        else return areMirror(root1.getLeft(),root2.getRight())
                &&areMirror(root1.getRight(),root2.getLeft());
    }
}
